package com.cmcc.nativepackage;

public class MagCard {
	
	static {
		System.loadLibrary("CMCC_UNITDEVICE_TOZED_R10");
	}
	
	/* 
	 * 连接银行卡读卡器设备
	 * 
	 * bankCardType: 银行卡读卡器设备类型
	 * 1： USB银行卡读卡器设备
	 * 2：蓝牙银行卡读卡器设备
	 * 3：串口银行卡读卡器设备
	 * 4、内置银行卡读卡器设备
	 * 
	 * deviceId:设备ID
	 * 当bankCardType为2时，deviceId为银行卡读卡器设备MAC地址。
	 * 当bankCardType为3时，deviceId为USB 卡(线)转换的串口，如/dev/ttyUSB0。
	 * 
	 * password:密码
	 * 预留字段
	 * 
	 * 返回值
	 * 0－>Success；状态码－> Fail
	 */
	public static native int intopenBankCard(int bankCardType, String deviceId, String password);
	
	/* 
	 * 关闭与银行卡读卡器设备的连接
	 * 
	 * 返回值
	 * 0－>Success；状态码－> Fail
	 */
	public static native int intcloseBankCard();
	
	/* 
	 * 获取各厂商银行卡读卡器组件的版本信息
	 * 
	 * version:版本号
	 * 各厂商银行卡读卡器组件的版本号(三位整数)，数值越大代表版本越高。
	 * 
	 * 返回值
	 * 0－>Success；状态码－> Fail
	 */
	public static native int intgetBankCardVersion(byte[] version);
	
	/*
	 * 初始化银行卡读卡器，清除银行卡读卡器内缓存数据
	 * 
	 * 返回值
	 * 0－>Success；状态码－> Fail
	 */
	public static native int intinitialBankCard ();
	
	/*
	 * 获得银行卡各磁道数据
	 * 
	 * firstTrack:第一磁道数据
	 * secondTrack:第二磁道数据
	 * thirdTrace:第三磁道数据
	 * 
	 * 返回值
	 * 0－>Success；状态码－> Fail
	 */
	public static native int getBankCardInfo(byte[] firstTrack, byte[] secondTrack, byte[] thirdTrace);
}
